package com.gnerv.sylvanas.business.manage.storage;

import com.gnerv.sylvanas.business.manage.model.dto.PostDTO;
import com.gnerv.sylvanas.business.manage.model.entity.Post;
import com.gnerv.sylvanas.business.manage.repository.mapper.OrgPostMapper;
import com.gnerv.sylvanas.business.manage.repository.mapper.PostMapper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
@AllArgsConstructor
public class PostStorageService {

    private final PostMapper postMapper;
    private final OrgPostMapper orgPostMapper;

    
    public int insert(Post post) {
        return postMapper.insert(post);
    }

    
    public int deleteByUkId(String ukId) {
        return postMapper.deleteByUkId(ukId);
    }

    
    public int updateByUkId(Post post) {
        return postMapper.updateByUkId(post);
    }

    
    public PostDTO selectByUkId(String ukId) {
        return postMapper.selectByUkId(ukId);
    }

    
    public PostDTO selectByName(String name) {
        return postMapper.selectByName(name);
    }

    
    public List<PostDTO> selectListByName(String name) {
        return postMapper.selectListByName(name);
    }

    
    public int bindOrg(String postUkId, String orgUkId, String creator) {
        return orgPostMapper.insertPostOrg(postUkId, orgUkId, creator);
    }

    
    public int unbindOrg(String postUkId) {
        return orgPostMapper.deleteByPostUkId(postUkId);
    }
}
